package com.github.log;

import org.springframework.aop.MethodBeforeAdvice;

import java.lang.reflect.Method;
import java.util.Arrays;

/**
 * @author fatfish
 * @version 1.0
 * @date 2025/8/15 16:47
 */
public class BeforeLog implements MethodBeforeAdvice {
    /**
     * 在方法执行之前执行的逻辑
     *
     * @param method 被调用的方法
     * @param args   方法参数
     * @param target 被代理的对象
     * @throws Throwable 如果方法调用过程中发生错误
     */
    @Override
    public void before(Method method, Object[] args, Object target) throws Throwable {
        if (target != null) {
            System.out.println(target.getClass().getName() + " 执行了 " + method.getName() + " 方法, 参数为: " + Arrays.toString(args));
        } else {
            System.out.println("执行了 " + method.getName() + " 方法, 参数为: " + Arrays.toString(args));
        }
    }
}
